From d6a9b3738c05e04aec6f361a3706909d18e7e09e Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Fri, 9 Jun 2006 14:29:00 +0100 Subject: [PATCH] [XEN] IOPL is ignored for VM86 mode port accesses. Fix Xen emulation to match native behaviour. Signed-off-by: Jan Beulich --- xen/arch/x86/traps.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 74de928a37..031ee87e4f 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -748,7 +748,8 @@ static inline int guest_io_okay( #define TOGGLE_MODE() ((void)0) #endif - if ( v->arch.iopl >= (guest_kernel_mode(v, regs) ? 1 : 3) ) + if ( !vm86_mode(regs) && + (v->arch.iopl >= (guest_kernel_mode(v, regs) ? 1 : 3)) ) return 1; if ( v->arch.iobmp_limit > (port + bytes) ) -- 2.30.2